Conversation Log 2020-06-08
Check for documentation first.
Create a document that will serve as a guide.
Read and understand the source code and write tests
Refactoring
Add functionality
Makes it easier for people who don't know what the project is about to participate
It has to do with the recent "One person's project should become a multi-person project".
Documentation is needed to involve others
As the project progresses from the stage of coming up with the idea to the specifics, the documentation becomes more specific.
Similar to what I wrote in [Prototypes and Proposals
nishio.iconLet's talk.
nisbot.iconWhat would you like to see happen in this conversation?
nishio.iconWhat exactly is a chewing task?
nisbot.iconIs there anything else about that chewing task?
nishio.iconBite into ideas and turn them into actionable actions.
nisbot.iconIs there anything else about that action?
nishio.iconHow can we learn to understand this when we are in a state of not understanding it?
nisbot.iconIs there anything else you can tell us about that condition?
nishio.iconIt's been a while since I've been away from the project, so I think I'm forgetting a lot of things.
nisbot.iconIs there anything else you can tell us about that project?
nishio.iconNot much documentation left on the project.
nisbot.iconWhat type of project is it?
nishio.iconA project that was left unattended after being shaped to a certain degree
nisbot.iconWhere is the project located?
nishio.iconIt's in a repository somewhere.
nisbot.iconIs there anything else about that repository?
nishio.iconI should write a document, and maybe I'll write one.
nisbot.icon
Projects that were left unattended after being shaped to some degree
Where is this project located?
nishio.iconNG
nisbot.iconWhat type of document is it?
nishio.iconIdeally, the internal structure of the project should be described, so that when you read it, you know what to tweak when making new improvements.
nisbot.iconHow do you know about the project?
nishio.iconIf there is documentation, you can read it, but there isn't.
nisbot.iconIs there anything else about that document?
nishio.iconI guess I'll just have to make it now while reading the source code.
nisbot.iconWhat type of source code is that source code?
nishio.iconI think it has a bizarre shape because I made it while experimenting with various things.
nisbot.iconIs there anything else you can tell us about its shape?
nishio.iconMaybe refactoring would be a good idea.
nisbot.iconIf there is documentation, you can read it, but there isn't.
How do you know about this document?
nishio.iconI heard the other day that it would be good to run a word frequency analysis on the source code and generate a model from that.
nisbot.iconIs there anything else about that source code?
nishio.iconI need to see if there is documentation first and read the source code to see if I can chew it up into concrete actions.
nisbot.iconWhere is that document located?
nishio.iconI don't know if it's there or not, so I check, that's the first task.
nisbot.iconIs there anything else about that task?
nishio.iconIf not, the next task is to apply word frequency analysis to the source code
nisbot.iconWhat type of task is the task?
nishio.iconIt's the task of creating a rough model of the source code.
nisbot.iconHow do you know its source code?
nishio.iconRead it, understand the features, and then you can test code the features you understand for future refactoring.
nisbot.iconIs there anything else about that refactoring?
nishio.iconShould be done separately from feature additions. Refactoring should come first. I think there was a saying that expressed this...
nisbot.iconWhat type of refactoring is that refactoring?
nishio.iconTo make the tangled code into a clean structure without changing the behavior of the code, so that you don't have to worry about it when you do a new modification.
nisbot.iconIs there anything else you can tell us about its structure?
nishio.iconKeep it simple.
nisbot.iconIt's the task of creating a rough model of the source code.
Where can I find this source code?
nishio.iconNG
nisbot.icon
I'll have to check to see if there is documentation first, and read the source code to see if I can chew it up into concrete actions.
What does this document look like?
nishio.iconMap. A rough guide that points you where to go.
nisbot.iconWhat is it that you value?
nishio.iconA guide will lower the cost of deciding on a Next Action. This is value.
nisbot.iconWhat type of guide is that?
nishio.iconA guide that shows you where and how to fix things without having to re-read and re-understand the entire source code
nisbot.iconIs there anything else you can tell us about that guide?
nishio.iconLike a table of contents for a book.
nisbot.iconWhat is the relationship between the project and the source code?
nishio.iconThis living system, in which the source code is properly updated, will continue to grow like a snake that repeatedly sheds its skin, and this living system is the project
nisbot.iconIs the project the same as the source code? Is it different?
nishio.iconTo use an analogy, is a human being the same as a body? It's like saying that a dead person has the same body as a living person.
nisbot.iconWhat happens to the source code when a project
nishio.iconUPDATED.
nisbot.iconWhat happens to a project when it is in source code?
nishio.iconNew ideas, user reactions, needs, and other growth opportunities are generated by working with the source code.
nisbot.iconWhat is the connection between that source code and the project?
nishio.iconPutting that aside, "What exactly do I need to do about the chewing task?" As for the "chewing task," I'd say first check for documentation, then do a word frequency analysis of the source code, create documentation to serve as a guide, read and understand the source code, write tests, refactor, add features, and so on.
nisbot.iconWhat is the relationship between that guide and the project?
nishio.iconDocumentation that makes it easier for people who don't know or have forgotten what the project is about to participate in the project. Ah, well, it has to do with the "one person's project should be a multi-person project" from the other day.
nisbot.iconWhat is the relationship between the project and its documentation?
nishio.iconDocumentation is needed to get others involved, he said.
nisbot.iconIs the document the same as the project? Is it different?
nishio.iconIn a sense, is documentation more important than source code for a project to continue?
nisbot.iconWhat happens to the document when that project is done?
nishio.iconAs the project progresses from the stage of coming up with the idea to the specifics, the documentation becomes more specific.
nisbot.iconWhat happens to the project at the time of that document?
nishio.iconSo, the documentation will support the project to keep it alive.
nisbot.iconWhat does that project look like?
nishio.iconlifelike
nisbot.iconWhat is the connection between the project and the documentation?
nishio.iconbye-bye
---
This page is auto-translated from /nishio/会話ログ2020-06-08. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I'm very happy to spread my thought to non-Japanese readers.